The invention is generally related to computers and computer software for use therewith, and more particularly, to user interface components for permitting user access to data stored in a computer.
As computers have become more complex and powerful, the manner in which end users or operators interface with computers has grown increasingly important. Early computers relied on switches, lights, and/or punch cards that required an end user to interact essentially in the computers"" native binary languages. Eventually, video displays were developed that enabled end users to interact with computers through textual information and commands. Another significant step in this evolution was the development of graphical user interfaces (GUIs), which permitted end users to interact with computers through the more intuitive operations of xe2x80x9cpointing and clickingxe2x80x9d on graphical display elements with a pointer controlled by a mouse or other user interface device. For example, to print a file, an end user in a text-based system might be required to enter a command such as xe2x80x9cprint  less than filename greater than xe2x80x9d. With a graphical user interface, a similar operation might be accomplished by merely moving a pointer with a mouse and clicking on an graphical icon showing a graphic representation of a printer.
Information is often presented to an end user in a graphical user interface component known as a window. A window may include any number of controls or handles that an end user can point and click on to perform different operations. For example, a title bar is often provided at the top of a window to identify the application the window is associated with. A window may also include resizing handles along its boundaries that a user can grab with the pointer to change the size of the window. A menu bar on a window may include multiple pull-down menus that a user can select to perform specific functions listed in the menus.
A window may be used to display a relatively large document with only a portion of the document shown at any given time. Scroll bars on the window may then be used to navigate through the documentxe2x80x94that is, to scroll through the information in a document so that a different portion of the document is displayed in the window. A scroll bar itself has a number of controls. For example, an end user may control a slider (or puck) on a scroll bar by clicking and holding down a mouse button over the slider, and then moving the pointer to scroll to a specific location in the document. An end user may also click on arrow buttons found at each end of a scroll bar to scroll a document line-by-line. Also, an end user may click on regions in the scroll bar between the slider and the buttons to scroll the document page-by-page or screen-by-screen.
A principal use of windowing technology is in accessing data stored in a computer. For example, data may be organized into records or files that are linked together in a predetermined manner. Accessing such data in an efficient manner is often problematic.
Data is often stored in files that are stored within various directories organized into a hierarchical directory tree. A number of graphical user interfaces represent directories using folder icons that an end user can click on to view the files and/or sub-directories contained within a given directory.
A directory tree typically can be used to reach any directory and/or file available to a computer. When the directories and files are all stored locally (e.g., on a hard or floppy disk drive), a directory tree may be an efficient manner of accessing data. However, data may also be stored outside of a computer, e.g., on a private network such as a local area network (LAN) or wide area network (WAN), and/or on a public network such as the Internet. The amount of data stored on these additional sources is often too substantial for access with a conventional directory tree, as thousands of files and directories may be represented in a given tree. An end user may have to manually dig through several levels of directories to find a particular file. An end user may also be able to use a search engine to find possible directories for a file; however, several directories may nonetheless need to be viewed before the desired data is found.
Another manner of accessing data is through the use of embedded links. For example, on a segment of the Internet known as the World Wide Web, information is organized into hypertext documents having embedded hypertext links that an end user can click on to either jump to different documents, or to jump to different locations within the same document. A wide variety of information formats such as text, graphics, video, sound, and animation may be integrated into these hypertext documents. The World Wide Web has enjoyed such immense popularity that many private networks now also support hypertext documents, as do a number of existing computer operating systems and computer software applications.
A computer software application, often referred to as a browser, is typically used to navigate between and through hypertext documents. With a browser, an end user can point and click on links such as highlighted text, images or other user interface components (e.g., buttons) in documents to navigate to different documents and/or to different locations within the same document. With the vast amount of information available to an end user, however, it is quite easy to lose one""s place after navigating through several links.
Unlike an end user""s local files, hypertext documents often cannot be organized hierarchically into directories that descend from a common root. For example, a document may be linked to multiple documents that are completely unrelated to one another, and which may be stored on different computers that are located on the opposite side of the world from one another. Consequently, conventional directory trees are not well suited for maintaining one""s place during browsing.
Many browsers maintain a history of navigated locations to enable an end user to backtrack through several links, e.g., by clicking on a xe2x80x9cbackxe2x80x9d button. Revisiting backtracked links may be performed using a xe2x80x9cforwardxe2x80x9d button. In addition, an end user may save favorite locations as xe2x80x9cbookmarksxe2x80x9d, which may themselves be organized into user-specified folders. An end user often can later access bookmarked locations merely by selecting a bookmark from a menu.
Nevertheless, neither history nor bookmark information typically provides a full picture or map of the various documents and locations that an end user has traversed while browsing. For example, when an end user navigates through several links from a particular document, backtracks to the original document using a back button, and then selects another link within that original document, the previous links navigated from the original document typically can no longer be retrieved using the xe2x80x9cforwardxe2x80x9d button of the browser. Documents retrieved previously from the Internet or another network may be stored locally in a cache to speed repeat access, but once the history information for forward links is lost, the underlying documents are often only retrievable through manual searching of the computer cache.
Also, bookmarking locations is typically a manually-performed activity, whereby an end user specifically stores and organizes favorite sites as he or she sees fit. Bookmarking is therefore time consuming and fully dependent on end users. Unless an end user takes the extra time to bookmark every visited location, a complete map or history of navigated locations often cannot be maintained.
History and bookmark information are also not well suited to navigating within particular documents. While some documents may include internal hypertext links that point to different locations within the same documents, history and bookmark information permits navigation within such documents only to the particular locations specified by the internal hypertext links. Instead, separate mechanisms such as scroll bars must be used as the principal mechanisms for navigating to particular locations within documents. Consequently, an end user is often forced to consciously click on different objects in a graphical user interface depending upon whether the end user wishes to navigate between documents or to navigate within documents. As a result, navigation with this type of user interface is slow and burdensome for many end users.
Therefore, a significant need exists for a manner of organizing and enhancing access to hypertext documents and the like. Moreover, a significant need exists for a manner of enhancing navigation between and within such documents.
The invention addresses these and other problems associated with the prior art in providing a unique user display and method of using the same in which linked records are graphically displayed with node display elements representing individual records, and link display elements representing the links therebetween. One particular application deriving unique benefit from the invention is in that of navigating hypertext documents, whether stored locally, on a private network, and/or on the Internet or other public network. However, it should be appreciated that the invention may benefit other applications that utilize linked records consistent with the invention.
Consistent with one aspect of the invention, a user interface component may be configured to incorporate a scroll display element associated with a selected node display element to access specific data or locations within the record associated therewith. In this manner, navigation within records and navigation between records is integrated into a common user interface to speed as well as to simplify access to the data within the records.
Consistent with a further aspect of the invention, other control elements in addition to or in lieu of a scroll display element may be utilized on a selected node display element to facilitate navigation within the record associated therewith.
Consistent with another aspect of the invention, a user interface component may further be configured to graphically represent the particular location of a particular link within a record. This additional information enables an end user to quickly ascertain the relative location of a link within a record.
Consistent with yet another aspect of the invention, individual node display elements within a user interface component may separately indicate status information for their associated records. For example, a cache status may be indicated in individual node display elements to indicate whether the associated records are currently stored in a computer""s memory.
Consistent with an additional aspect of the invention, a user interface component may also be configured to incorporate a retrieve progress display element that indicates a current status of a retrieve operation for a record. By graphically associating the retrieve progress display element with a node and/or link display element, the status of a retrieve operation may be easily and quickly ascertained.
Consistent with yet another aspect of the invention, other status information may be indicated within a user interface component. For example, a matching status may be indicated in individual node display elements to indicate whether the associated records match a predetermined search criteria.
Consistent with a further aspect of the invention, a user interface component may also be utilized to perform common operations on selected records in response to user selection of the nodes associated with the selected records. Customized groupings of records may therefore be jointly operated upon through a highly efficient user interface.